package com.jrx.anytxn.transaction.dto.payment;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 账户信息表
 *
 * @author Administrator
 * date 2019/12/21 0021
 * @version V1.0
 **/
public class AmLoanMainInfoRes implements Serializable {


    /**
     * 主键
     * 表字段:id
     */
    private Long id;

    /**
     * 租户ID
     * 表字段:tenant_id
     */
    private String tenantId;

    /**
     * 贷款订单id
     * 表字段:loan_id
     */
    private String loanId;

    /**
     * 机构号
     * 表字段:organization_id
     */
    private String organizationId;

    /**
     * 渠道id
     * 表字段:channel
     */
    private String channel;

    /**
     * 产品id
     * 表字段:product_id
     */
    private String productId;

    /**
     * 贷款类型
     * 表字段:loan_type
     */
    private String loanType;

    /**
     * 交易码
     * 表字段:txn_code
     */
    private String txnCode;

    /**
     * 客户id
     * 表字段:customer_id
     */
    private String customerId;

    /**
     * 贷款金额
     * 表字段:loan_amount
     */
    private BigDecimal loanAmount;

    /**
     * 本行出资金额
     * 表字段:loan_amount_onus
     */
    private BigDecimal loanAmountOnus;

    /**
     * 资金源出资金额
     * 表字段:loan_amount_fund
     */
    private BigDecimal loanAmountFund;

    /**
     * LPR贷款基础利率
     * 表字段:loan_prime_rate
     */
    private BigDecimal loanPrimeRate;

    /**
     * 年利率
     * 表字段:interest_rate
     */
    private BigDecimal interestRate;

    /**
     * 执行日利率
     * 表字段:actual_daily_rate
     */
    private BigDecimal actualDailyRate;

    /**
     * 折扣前日利率号
     * 表字段:orig_daily_rate
     */
    private BigDecimal origDailyRate;

    /**
     * 折扣
     * 表字段:discount_rate
     */
    private BigDecimal discountRate;

    /**
     * 	折扣前利息
     * 表字段:interest_before_discount
     */
    private BigDecimal interestBeforeDiscount;

    /**
     * 折扣的利息
     * 表字段:interest_discount
     */
    private BigDecimal interestDiscount;

    /**
     * 抛账日
     * 表字段:billing_cycle
     */
    private Integer billingCycle;

    /**
     * 还款日
     * 表字段:payment_date_dd
     */
    private Integer paymentDateDd;

    /**
     * 交易起息日
     * 表字段:interest_start_date
     */
    private Date interestStartDate;

    /**
     * 总期数
     * 表字段:total_tenor
     */
    private Integer totalTenor;

    /**
     * 交易时间
     * 表字段:txn_time
     */
    private Date txnTime;

    /**
     * 交易日期，业务日期
     * 表字段:posting_date
     */
    private Date postingDate;

    /**
     * 合同号 贷款合同的合同号
     * 表字段:contract_id
     */
    private String contractId;

    /**
     * 外部合同号
     * 表字段:contract_number
     */
    private String contractNumber;

    /**
     * 利息参数表id
     * 表字段:interest_table_id
     */
    private String interestTableId;

    /**
     * 提前结清参数表id
     * 表字段:payoff_table_id
     */
    private String payoffTableId;

    /**
     * 罚息参数表id
     * 表字段:penalty_table_id
     */
    private String penaltyTableId;

    /**
     * 费用参数表id
     * 表字段:fee_table_id
     */
    private String feeTableId;

    /**
     * 还款顺序参数表id
     * 表字段:payment_sequence_table_id
     */
    private String paymentSequenceTableId;

    /**
     * 本金摊销方式(还款方式)参数表id
     * 表字段:amort_method_table_id
     */
    private String amortMethodTableId;

    /**
     * 延滞参数id
     * 表字段:delq_table_id
     */
    private String delqTableId;

    /**
     * 提前还款参数表id
     * 表字段:prepay_table_id
     */
    private String prepayTableId;

    /**
     * 合作方id
     * 表字段:partner_id
     */
    private String partnerId;

    /**
     * 合作伙伴罚息参数id
     * 表字段:partner_penalty_interest_table_id
     */
    private String partnerPenaltyInterestTableId;

    /**
     * 贷款流水号 	唯一流水号，用于幂等校验
     * 表字段:serial_number
     */
    private String serialNumber;

    /**
     * 客户收款账号
     * 表字段:customer_account_number
     */
    private String customerAccountNumber;

    /**
     * 贷款用途
     * 表字段:loan_use
     */
    private String loanUse;

    /**
     * 联合贷标识(0=否 1=是)
     * 表字段:joint_loan_flag
     */
    private String jointLoanFlag;

    /**
     * 	兜底模式 (0-我行 1-资金源 2=合作方 3=共享)
     * 表字段:reveal_mobel
     */
    private String revealMobel;

    /**
     * 资金源id
     * 表字段:fund_id
     */
    private String fundId;

    /**
     * 资金源出资比例
     * 表字段:fund_percentage
     */
    private BigDecimal fundPercentage;

    /**
     * 备注D
     * 表字段:memoid
     */
    private String memoid;

    /**
     * 首次还款日期
     * 表字段:first_payment_date
     */
    private Date firstPaymentDate;

    /**
     * 最后一次计划还款日期
     * 表字段:last_payment_date
     */
    private Date lastPaymentDate;

    /**
     * 贷款期限天数
     * 表字段:total_days
     */
    private Integer totalDays;

    /**
     * 创建时间
     * 表字段:create_time
     */
    private Date createTime;

    /**
     * 最后更新时间
     * 表字段:update_time
     */
    private Date updateTime;

    /**
     * 最后更新操作员
     * 表字段:update_by
     */
    private String updateBy;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getTenantId() {
        return tenantId;
    }

    public void setTenantId(String tenantId) {
        this.tenantId = tenantId;
    }

    public String getLoanId() {
        return loanId;
    }

    public void setLoanId(String loanId) {
        this.loanId = loanId;
    }

    public String getOrganizationId() {
        return organizationId;
    }

    public void setOrganizationId(String organizationId) {
        this.organizationId = organizationId;
    }

    public String getChannel() {
        return channel;
    }

    public void setChannel(String channel) {
        this.channel = channel;
    }

    public String getProductId() {
        return productId;
    }

    public void setProductId(String productId) {
        this.productId = productId;
    }

    public String getLoanType() {
        return loanType;
    }

    public void setLoanType(String loanType) {
        this.loanType = loanType;
    }

    public String getTxnCode() {
        return txnCode;
    }

    public void setTxnCode(String txnCode) {
        this.txnCode = txnCode;
    }

    public String getCustomerId() {
        return customerId;
    }

    public void setCustomerId(String customerId) {
        this.customerId = customerId;
    }

    public BigDecimal getLoanAmount() {
        return loanAmount;
    }

    public void setLoanAmount(BigDecimal loanAmount) {
        this.loanAmount = loanAmount;
    }

    public BigDecimal getLoanAmountOnus() {
        return loanAmountOnus;
    }

    public void setLoanAmountOnus(BigDecimal loanAmountOnus) {
        this.loanAmountOnus = loanAmountOnus;
    }

    public BigDecimal getLoanAmountFund() {
        return loanAmountFund;
    }

    public void setLoanAmountFund(BigDecimal loanAmountFund) {
        this.loanAmountFund = loanAmountFund;
    }

    public BigDecimal getLoanPrimeRate() {
        return loanPrimeRate;
    }

    public void setLoanPrimeRate(BigDecimal loanPrimeRate) {
        this.loanPrimeRate = loanPrimeRate;
    }

    public BigDecimal getInterestRate() {
        return interestRate;
    }

    public void setInterestRate(BigDecimal interestRate) {
        this.interestRate = interestRate;
    }

    public BigDecimal getActualDailyRate() {
        return actualDailyRate;
    }

    public void setActualDailyRate(BigDecimal actualDailyRate) {
        this.actualDailyRate = actualDailyRate;
    }

    public BigDecimal getOrigDailyRate() {
        return origDailyRate;
    }

    public void setOrigDailyRate(BigDecimal origDailyRate) {
        this.origDailyRate = origDailyRate;
    }

    public BigDecimal getDiscountRate() {
        return discountRate;
    }

    public void setDiscountRate(BigDecimal discountRate) {
        this.discountRate = discountRate;
    }

    public BigDecimal getInterestBeforeDiscount() {
        return interestBeforeDiscount;
    }

    public void setInterestBeforeDiscount(BigDecimal interestBeforeDiscount) {
        this.interestBeforeDiscount = interestBeforeDiscount;
    }

    public BigDecimal getInterestDiscount() {
        return interestDiscount;
    }

    public void setInterestDiscount(BigDecimal interestDiscount) {
        this.interestDiscount = interestDiscount;
    }

    public Integer getBillingCycle() {
        return billingCycle;
    }

    public void setBillingCycle(Integer billingCycle) {
        this.billingCycle = billingCycle;
    }

    public Integer getPaymentDateDd() {
        return paymentDateDd;
    }

    public void setPaymentDateDd(Integer paymentDateDd) {
        this.paymentDateDd = paymentDateDd;
    }

    public Date getInterestStartDate() {
        return interestStartDate;
    }

    public void setInterestStartDate(Date interestStartDate) {
        this.interestStartDate = interestStartDate;
    }

    public Integer getTotalTenor() {
        return totalTenor;
    }

    public void setTotalTenor(Integer totalTenor) {
        this.totalTenor = totalTenor;
    }

    public Date getTxnTime() {
        return txnTime;
    }

    public void setTxnTime(Date txnTime) {
        this.txnTime = txnTime;
    }

    public Date getPostingDate() {
        return postingDate;
    }

    public void setPostingDate(Date postingDate) {
        this.postingDate = postingDate;
    }

    public String getContractId() {
        return contractId;
    }

    public void setContractId(String contractId) {
        this.contractId = contractId;
    }

    public String getContractNumber() {
        return contractNumber;
    }

    public void setContractNumber(String contractNumber) {
        this.contractNumber = contractNumber;
    }

    public String getInterestTableId() {
        return interestTableId;
    }

    public void setInterestTableId(String interestTableId) {
        this.interestTableId = interestTableId;
    }

    public String getPayoffTableId() {
        return payoffTableId;
    }

    public void setPayoffTableId(String payoffTableId) {
        this.payoffTableId = payoffTableId;
    }

    public String getPenaltyTableId() {
        return penaltyTableId;
    }

    public void setPenaltyTableId(String penaltyTableId) {
        this.penaltyTableId = penaltyTableId;
    }

    public String getFeeTableId() {
        return feeTableId;
    }

    public void setFeeTableId(String feeTableId) {
        this.feeTableId = feeTableId;
    }

    public String getPaymentSequenceTableId() {
        return paymentSequenceTableId;
    }

    public void setPaymentSequenceTableId(String paymentSequenceTableId) {
        this.paymentSequenceTableId = paymentSequenceTableId;
    }

    public String getAmortMethodTableId() {
        return amortMethodTableId;
    }

    public void setAmortMethodTableId(String amortMethodTableId) {
        this.amortMethodTableId = amortMethodTableId;
    }

    public String getDelqTableId() {
        return delqTableId;
    }

    public void setDelqTableId(String delqTableId) {
        this.delqTableId = delqTableId;
    }

    public String getPrepayTableId() {
        return prepayTableId;
    }

    public void setPrepayTableId(String prepayTableId) {
        this.prepayTableId = prepayTableId;
    }

    public String getPartnerId() {
        return partnerId;
    }

    public void setPartnerId(String partnerId) {
        this.partnerId = partnerId;
    }

    public String getPartnerPenaltyInterestTableId() {
        return partnerPenaltyInterestTableId;
    }

    public void setPartnerPenaltyInterestTableId(String partnerPenaltyInterestTableId) {
        this.partnerPenaltyInterestTableId = partnerPenaltyInterestTableId;
    }

    public String getSerialNumber() {
        return serialNumber;
    }

    public void setSerialNumber(String serialNumber) {
        this.serialNumber = serialNumber;
    }

    public String getCustomerAccountNumber() {
        return customerAccountNumber;
    }

    public void setCustomerAccountNumber(String customerAccountNumber) {
        this.customerAccountNumber = customerAccountNumber;
    }

    public String getLoanUse() {
        return loanUse;
    }

    public void setLoanUse(String loanUse) {
        this.loanUse = loanUse;
    }

    public String getJointLoanFlag() {
        return jointLoanFlag;
    }

    public void setJointLoanFlag(String jointLoanFlag) {
        this.jointLoanFlag = jointLoanFlag;
    }

    public String getRevealMobel() {
        return revealMobel;
    }

    public void setRevealMobel(String revealMobel) {
        this.revealMobel = revealMobel;
    }

    public String getFundId() {
        return fundId;
    }

    public void setFundId(String fundId) {
        this.fundId = fundId;
    }

    public BigDecimal getFundPercentage() {
        return fundPercentage;
    }

    public void setFundPercentage(BigDecimal fundPercentage) {
        this.fundPercentage = fundPercentage;
    }

    public String getMemoid() {
        return memoid;
    }

    public void setMemoid(String memoid) {
        this.memoid = memoid;
    }

    public Date getFirstPaymentDate() {
        return firstPaymentDate;
    }

    public void setFirstPaymentDate(Date firstPaymentDate) {
        this.firstPaymentDate = firstPaymentDate;
    }

    public Date getLastPaymentDate() {
        return lastPaymentDate;
    }

    public void setLastPaymentDate(Date lastPaymentDate) {
        this.lastPaymentDate = lastPaymentDate;
    }

    public Integer getTotalDays() {
        return totalDays;
    }

    public void setTotalDays(Integer totalDays) {
        this.totalDays = totalDays;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public String getUpdateBy() {
        return updateBy;
    }

    public void setUpdateBy(String updateBy) {
        this.updateBy = updateBy;
    }
}
